import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.awt.BorderLayout.*;

/** Informations html sur le patch
  *
  * @author     Nemesis (nemesis_tt@yahoo.fr)
  * @version    08/05/04
  */

public class Infos extends JPanel {
    
// Les éléments de la vue (IHM)
// ----------------------------
        
    /** Eléments d'infos */
    private JTextPane infos;
    private JLabel titre;
    
    /** Couleurs */
    private Color coul_evol = Color.BLUE;

// Le constructeur
// ---------------

    /** Construire le panel d'infos */
    public Infos(ZipPatch zip) {
        super();
        
        //  Définition du layout de la zone
        setLayout(new BorderLayout());
        
        // Image de titre
        byte[] buffer = new byte[100000]; // Max bidon car fonction écrit à l'arrache
        try {
            BufferedInputStream titr =
                new BufferedInputStream(zip.get("Titre.gif"));
            if (titr==null)
                throw new IOException();
            else
                titr.read(buffer,0,100000);
        }  catch(IOException e) {
            Logueur.loguer_texte("Impossible de charger l'image de titre");
        }
        ImageIcon image = new ImageIcon(buffer);
        titre = new JLabel(image);
        JPanel haut = new JPanel();
        haut.setLayout(new GridLayout(1,1));
        haut.add(titre);
        
        // Fenêtre d'infos
        infos = new JTextPane();
        infos.setContentType("text/html");
        infos.setEditable(false);
        try {
            BufferedInputStream lisezmoi = 
                new BufferedInputStream(zip.get("Lisez-moi.htm"));
            if (lisezmoi==null)
                throw new IOException();
            else
                infos.read(lisezmoi,null);
        } catch(IOException e) {
            Logueur.loguer_texte("Impossible d'ouvrir le fichier Lisez-moi");
        }
        
        // Gestion du défilement
        JScrollPane scroll = new JScrollPane(infos);
        scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        
        // Ajout final des éléments
        add(haut,BorderLayout.NORTH);
        add(scroll);
        
        /*try {
            URL url = new URL("http://terminus.romhack.net");
            infos.setPage(url);
        } catch (Exception e) {}*/
    }
}
